/**
 * author      : dormi330
 * date        : 2018/6/24
 * project     : mybatis
 * description : 交易订单实体
 * <p>
 * 一个订单包含多条 item, 但是一次支付
 * 物流可以包含多个
 */

package org.wzq.learn.domain.order;

import org.wzq.learn.common.BaseEntity;

import java.math.BigDecimal;

public class TradeOrder extends BaseEntity {

    public static final String STATUS_TO_BE_AUDITED = "to_be_audited";
    public static final String STATUS_TO_BE_PAID = "to_be_paid";
    public static final String STATUS_PAID = "paid";
    public static final String STATUS_DELIVERYING = "deliverying";
    public static final String STATUS_FINISHED = "finished";
    public static final String STATUS_COMMENTED = "commented";
    public static final String STATUS_REFUNDING = "refunding";
    public static final String STATUS_REFUNDED = "refunded";
    public static final String STATUS_CANNELLED = "cancelled";
    public static final String STATUS_PAY_TIMEOUT = "pay_timeout";
    public static final String STATUS_AUDIT_REJECTED = "audit_rejected";
    public static final String STATUS_DELETED = "deleted";

    // 待审核 = toBeAudited
    // 待支付 = toBePaid
    // 已支付 = paid
    // 已发货 = deliverying
    // 已完成 = finished
    // 已评价 = commented
    // 退款中 = refunding
    // 已退款 = refunded
    // 已取消 = cancelled
    // 支付超时 = payTimeout
    // 已审核拒绝 = auditRejected
    // 已删除 = deleted

    private String orderSummaryId;      // 父订单(OrderSummary)id
    private String orderChannel;        // 订单渠道
    private String code;                // 订单编码
    private String sellerId;            // 卖家Id
    private String shopId;              // 店铺Id
    private String memberId;            // 会员Id
    private String remark;              // 备注
    private String sellerRemark;        // 卖家备注
    private String status;              // 订单状态, 枚举
    private BigDecimal payMoney;        // 支付金额
    private BigDecimal freightMoney;    // 运费金额
    private BigDecimal itemMoney;       // item金额
    private String auditRejectReason;   // 审核拒绝原因

    // === setter / getter ===


    public TradeOrder() {
        super();
    }

    public BigDecimal getItemMoney() {
        return itemMoney;
    }

    public void setItemMoney(BigDecimal itemMoney) {
        this.itemMoney = itemMoney;
    }

    public String getOrderSummaryId() {
        return orderSummaryId;
    }

    public void setOrderSummaryId(String orderSummaryId) {
        this.orderSummaryId = orderSummaryId;
    }

    public String getOrderChannel() {
        return orderChannel;
    }

    public void setOrderChannel(String orderChannel) {
        this.orderChannel = orderChannel;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getSellerId() {
        return sellerId;
    }

    public void setSellerId(String sellerId) {
        this.sellerId = sellerId;
    }

    public String getShopId() {
        return shopId;
    }

    public void setShopId(String shopId) {
        this.shopId = shopId;
    }

    public String getMemberId() {
        return memberId;
    }

    public void setMemberId(String memberId) {
        this.memberId = memberId;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getSellerRemark() {
        return sellerRemark;
    }

    public void setSellerRemark(String sellerRemark) {
        this.sellerRemark = sellerRemark;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public BigDecimal getPayMoney() {
        return payMoney;
    }

    public void setPayMoney(BigDecimal payMoney) {
        this.payMoney = payMoney;
    }

    public BigDecimal getFreightMoney() {
        return freightMoney;
    }

    public void setFreightMoney(BigDecimal freightMoney) {
        this.freightMoney = freightMoney;
    }

    public String getAuditRejectReason() {
        return auditRejectReason;
    }

    public void setAuditRejectReason(String auditRejectReason) {
        this.auditRejectReason = auditRejectReason;
    }
}
